package com.cskaoyan.javase.method._3usecase;

import javax.xml.transform.sax.SAXTransformerFactory;

/**
 * 方法的两个常见使用场景:
 *      1.方法的本质就是复用代码,重复实现某一种特定的规定
 *          所以当代码中出现可复用代码时,不要犹豫,要提取方法,复用这些代码
 *          让代码的逻辑更加清晰,同时减少代码冗余.
 *          技巧:
 *              使用idea快捷键快速提取方法,复用代码
 *              使用快捷键ctrl + alt + m
 *
 *      2.在很多时候,我们即便不需要复用代码,也需要考虑提取方法
 *          当一个方法的代码过长时,一般来说一个方法如果超过了80行就不要继续写了
 *          而是考虑将这个方法中某一段逻辑提取出来,作为主干逻辑的分支逻辑
 *          即便这个分支逻辑不会被复用,也没关系,
 *          提取出分支逻辑,可以让主干逻辑更加清晰,增加代码可读性
 *          而且分支逻辑被提取出来以后,随着开发的进展,在后期也有复用的可能
 *
 *
 * @since 17:46
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        int sum1 = sum(10, 20);
        int sum2 = sum(111, 222);
        int sum3 = sum(333, 444);
        System.out.println(sum1);
        System.out.println(sum2);
        System.out.println(sum3);

        printHelloWorld();
    }

    public static void printHelloWorld() {
        System.out.println("hello world!");
        System.out.println("hello world!");
        System.out.println("hello world!");
        System.out.println("hello world!");
    }

    public static int sum(int i, int i2) {
        return i + i2;
    }


    public static void test() {
        System.out.println("66666");
        System.out.println("66666");
        System.out.println("66666");
        // 这里存在一个求最大值的逻辑,它和方法的主干逻辑相比,是一个分支逻辑,那么就可以考虑提取出来
        int max = getMaxValue();
        System.out.println("66666");
        System.out.println("66666");
        System.out.println("66666");
    }

    public static int getMaxValue() {
        int num1 = 10;
        int num2 = 20;
        return (num1 > num2) ? num1 : num2;
    }
}
